package com.forum.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;

/**
 * 
 * @TableName student_info
 */
@TableName(value ="student_info")
public class StudentInfo implements Serializable {
    /**
     * 学号
     */
    @TableId
    private Long studentid;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 密码
     */
    private String password;

    /**
     * 头像地址
     */
    private String avartarurl;

    /**
     * 身份（固定为0）
     */
    private String identity;

    /**
     * 姓名
     */
    private String name;

    /**
     * 年级
     */
    private String grade;

    /**
     * 专业
     */
    private String major;

    /**
     * 性别
     */
    private Integer sex;

    /**
     * 个性签名
     */
    private String signature;

    /**
     * 用户状态0：禁用1：正常
     */
    private Integer states;

    /**
     * 感兴趣内容
     */
    private String tags;

    /**
     * 邮箱
     */
    private String email;

    /**
     * QQ号码
     */
    private String qq;

    /**
     * 电话号码
     */
    private String telephone;

    /**
     * 违规次数
     */
    private Integer illegalcount;

    /**
     * 是否第一次登录
     */
    private Integer isfirsttimelogin;

    /**
     * 默认0,0代表普通用户，1代表管理员
     */
    @TableField("isadmin")
    private Integer isadmin;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 学号
     */
    public Long getStudentid() {
        return studentid;
    }

    /**
     * 学号
     */
    public void setStudentid(Long studentid) {
        this.studentid = studentid;
    }

    /**
     * 昵称
     */
    public String getNickname() {
        return nickname;
    }

    public Integer getIsfirsttimelogin() {
        return isfirsttimelogin;
    }

    public void setIsfirsttimelogin(Integer isfirsttimelogin) {
        this.isfirsttimelogin = isfirsttimelogin;
    }

    /**
     * 昵称
     */
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    /**
     * 密码
     */
    public String getPassword() {
        return password;
    }

    /**
     * 密码
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * 头像地址
     */
    public String getAvartarurl() {
        return avartarurl;
    }

    /**
     * 头像地址
     */
    public void setAvartarurl(String avartarurl) {
        this.avartarurl = avartarurl;
    }

    /**
     * 身份（固定为0）
     */
    public String getIdentity() {
        return identity;
    }

    /**
     * 身份（固定为0）
     */
    public void setIdentity(String identity) {
        this.identity = identity;
    }

    /**
     * 姓名
     */
    public String getName() {
        return name;
    }

    /**
     * 姓名
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 年级
     */
    public String getGrade() {
        return grade;
    }

    /**
     * 年级
     */
    public void setGrade(String grade) {
        this.grade = grade;
    }

    /**
     * 专业
     */
    public String getMajor() {
        return major;
    }

    /**
     * 专业
     */
    public void setMajor(String major) {
        this.major = major;
    }

    /**
     * 性别
     */
    public Integer getSex() {
        return sex;
    }

    /**
     * 性别
     */
    public void setSex(Integer sex) {
        this.sex = sex;
    }

    /**
     * 个性签名
     */
    public String getSignature() {
        return signature;
    }

    /**
     * 个性签名
     */
    public void setSignature(String signature) {
        this.signature = signature;
    }

    /**
     * 用户状态0：禁用1：正常
     */
    public Integer getStates() {
        return states;
    }

    /**
     * 用户状态0：禁用1：正常
     */
    public void setStates(Integer states) {
        this.states = states;
    }

    /**
     * 感兴趣内容
     */
    public String getTags() {
        return tags;
    }

    /**
     * 感兴趣内容
     */
    public void setTags(String tags) {
        this.tags = tags;
    }

    /**
     * 邮箱
     */
    public String getEmail() {
        return email;
    }

    /**
     * 邮箱
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * QQ号码
     */
    public String getQq() {
        return qq;
    }

    /**
     * QQ号码
     */
    public void setQq(String qq) {
        this.qq = qq;
    }

    /**
     * 电话号码
     */
    public String getTelephone() {
        return telephone;
    }

    /**
     * 电话号码
     */
    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    /**
     * 违规次数
     */
    public Integer getIllegalcount() {
        return illegalcount;
    }

    /**
     * 违规次数
     */
    public void setIllegalcount(Integer illegalcount) {
        this.illegalcount = illegalcount;
    }

    /**
     * 默认0,0代表普通用户，1代表管理员
     */
    public Integer getIsadmin() {
        return isadmin;
    }

    /**
     * 默认0,0代表普通用户，1代表管理员
     */
    public void setIsadmin(Integer isadmin) {
        this.isadmin = isadmin;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        StudentInfo other = (StudentInfo) that;
        return (this.getStudentid() == null ? other.getStudentid() == null : this.getStudentid().equals(other.getStudentid()))
            && (this.getNickname() == null ? other.getNickname() == null : this.getNickname().equals(other.getNickname()))
            && (this.getPassword() == null ? other.getPassword() == null : this.getPassword().equals(other.getPassword()))
            && (this.getAvartarurl() == null ? other.getAvartarurl() == null : this.getAvartarurl().equals(other.getAvartarurl()))
            && (this.getIdentity() == null ? other.getIdentity() == null : this.getIdentity().equals(other.getIdentity()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getGrade() == null ? other.getGrade() == null : this.getGrade().equals(other.getGrade()))
            && (this.getMajor() == null ? other.getMajor() == null : this.getMajor().equals(other.getMajor()))
            && (this.getSex() == null ? other.getSex() == null : this.getSex().equals(other.getSex()))
            && (this.getSignature() == null ? other.getSignature() == null : this.getSignature().equals(other.getSignature()))
            && (this.getStates() == null ? other.getStates() == null : this.getStates().equals(other.getStates()))
            && (this.getTags() == null ? other.getTags() == null : this.getTags().equals(other.getTags()))
            && (this.getEmail() == null ? other.getEmail() == null : this.getEmail().equals(other.getEmail()))
            && (this.getQq() == null ? other.getQq() == null : this.getQq().equals(other.getQq()))
            && (this.getTelephone() == null ? other.getTelephone() == null : this.getTelephone().equals(other.getTelephone()))
            && (this.getIllegalcount() == null ? other.getIllegalcount() == null : this.getIllegalcount().equals(other.getIllegalcount()))
            && (this.getIsadmin() == null ? other.getIsadmin() == null : this.getIsadmin().equals(other.getIsadmin()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getStudentid() == null) ? 0 : getStudentid().hashCode());
        result = prime * result + ((getNickname() == null) ? 0 : getNickname().hashCode());
        result = prime * result + ((getPassword() == null) ? 0 : getPassword().hashCode());
        result = prime * result + ((getAvartarurl() == null) ? 0 : getAvartarurl().hashCode());
        result = prime * result + ((getIdentity() == null) ? 0 : getIdentity().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getGrade() == null) ? 0 : getGrade().hashCode());
        result = prime * result + ((getMajor() == null) ? 0 : getMajor().hashCode());
        result = prime * result + ((getSex() == null) ? 0 : getSex().hashCode());
        result = prime * result + ((getSignature() == null) ? 0 : getSignature().hashCode());
        result = prime * result + ((getStates() == null) ? 0 : getStates().hashCode());
        result = prime * result + ((getTags() == null) ? 0 : getTags().hashCode());
        result = prime * result + ((getEmail() == null) ? 0 : getEmail().hashCode());
        result = prime * result + ((getQq() == null) ? 0 : getQq().hashCode());
        result = prime * result + ((getTelephone() == null) ? 0 : getTelephone().hashCode());
        result = prime * result + ((getIllegalcount() == null) ? 0 : getIllegalcount().hashCode());
        result = prime * result + ((getIsadmin() == null) ? 0 : getIsadmin().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", studentid=").append(studentid);
        sb.append(", nickname=").append(nickname);
        sb.append(", password=").append(password);
        sb.append(", avartarurl=").append(avartarurl);
        sb.append(", identity=").append(identity);
        sb.append(", name=").append(name);
        sb.append(", grade=").append(grade);
        sb.append(", major=").append(major);
        sb.append(", sex=").append(sex);
        sb.append(", signature=").append(signature);
        sb.append(", states=").append(states);
        sb.append(", tags=").append(tags);
        sb.append(", email=").append(email);
        sb.append(", qq=").append(qq);
        sb.append(", telephone=").append(telephone);
        sb.append(", illegalcount=").append(illegalcount);
        sb.append(", isadmin=").append(isadmin);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}